package com.example.star.view.setting;

import android.graphics.Typeface;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.StyleSpan;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.example.star.R;

public class UserAgreement extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_useragreement);

        // 获取 TextView 控件
        TextView userAgreementText = findViewById(R.id.user_agreement_text);

        // 设置用户协议内容
        String userAgreementContent = "引言：\n" +
                "     欢迎使用我们的明星介绍平台（以下简称“本平台”）。本协议是您与平台运营方（以下简称“我们”）之间关于使用本平台服务的法律约定。在使用本平台之前，请您仔细阅读本协议的所有条款。如果您不同意本协议的任何内容，请勿使用本平台的服务。一旦您使用本平台，即表示您已充分理解并同意接受本协议的所有条款和条件。\n" +
                "服务内容：\n" +
                "       信息提供：我们致力于为用户提供全面、准确的明星信息，包括但不限于明星的个人资料、演艺作品、活动动态等。我们会不断更新和完善这些信息，以确保用户能够获取到最新的内容。\n" +
                "       互动交流：平台提供用户之间的互动交流功能，如评论、点赞、分享等。用户可以在平台上表达自己对明星的看法和喜爱，与其他粉丝进行交流和互动。\n" +
                "       个性化推荐：根据用户的浏览历史、搜索记录等信息，我们会为用户提供个性化的明星资讯推荐，以满足用户的不同需求。\n" +
                "用户权利与义务：\n" +
                "     权利：\n" +
                "       使用服务：在遵守本协议的前提下，您有权使用本平台提供的各项服务。\n" +
                "       表达意见：您有权在平台上自由表达对明星的看法和意见，但不得违反法律法规和本协议的规定。\n" +
                "       获取信息：您有权获取平台上发布的明星信息和其他相关内容。\n" +
                "     义务：\n" +
                "       遵守法律法规：您在使用本平台服务时，必须遵守中华人民共和国的法律法规，不得利用本平台从事任何违法犯罪活动。\n" +
                "       提供真实信息：在注册和使用本平台服务时，您应提供真实、准确、完整的个人信息，并及时更新这些信息。如果您提供的信息不真实或不准确，我们有权暂停或终止您的账户。\n" +
                "       尊重他人权利：您应尊重其他用户的权利和利益，不得在平台上发布侮辱、诽谤、侵犯他人隐私等违法或不当的内容。\n" +
                "       不进行恶意行为：您不得利用本平台进行恶意攻击、骚扰、刷票等破坏平台秩序的行为。\n" +
                "知识产权：\n" +
                "       平台内容：本平台上的所有内容，包括但不限于文字、图片、音频、视频等，均受知识产权法律的保护。未经我们的书面许可，您不得复制、传播、修改、展示或以其他方式使用这些内容。\n" +
                "       用户内容：您在平台上发布的内容，如评论、照片等，您仍保留其知识产权。但您授予我们一项全球性的、非排他性的、免版税的许可，允许我们在本平台上使用、复制、传播、展示和修改这些内容。\n" +
                "隐私政策：我们重视您的隐私，并制定了详细的隐私政策。您在使用本平台服务时，我们会按照隐私政策的规定收集、使用和保护您的个人信息。请您仔细阅读我们的隐私政策，以了解我们如何处理您的个人信息。\n" +
                "免责声明：\n" +
                "       信息准确性：我们尽力确保平台上的信息准确无误，但由于信息来源广泛且不断变化，我们无法保证所有信息的绝对准确性和完整性。对于因信息不准确或不完整而给您造成的损失，我们不承担任何责任。\n" +
                "       不可抗力：由于不可抗力因素，如自然灾害、政府行为、网络故障等，导致本平台无法正常提供服务或造成您的损失，我们不承担任何责任。\n" +
                "       第三方内容：本平台可能会链接到第三方网站或服务，我们对这些第三方网站或服务的内容和质量不承担任何责任。您在使用第三方网站或服务时，应遵守其相关的条款和条件。\n" +
                "协议变更：\n" +
                "      我们有权随时修改本协议的内容。一旦协议发生变更，我们会在平台上发布通知。如果您继续使用本平台服务，即表示您同意接受变更后的协议。\n" +
                "违约责任：\n" +
                "      如果您违反本协议的任何条款，我们有权采取以下措施：1. 警告、限制或禁止您使用本平台的部分或全部服务。2. 暂停或终止您的账户。3. 追究您的法律责任，并要求您赔偿我们因此遭受的损失。\n" +
                "争议解决：\n" +
                "      如果您与我们之间发生争议，双方应首先通过友好协商解决。如果协商不成，任何一方均有权向有管辖权的人民法院提起诉讼。\n" +
                "其他条款：\n" +
                "       标题说明：本协议的标题仅为方便阅读而设置，不影响其法律含义。\n" +
                "       条款独立性：本协议的任何条款无效或不可执行，不影响其他条款的有效性和可执行性。\n" +
                "       法律适用：本协议适用中华人民共和国法律。";

        SpannableString spannableString = new SpannableString(userAgreementContent);

        String[] titles = {"引言", "服务内容", "用户权利与义务", "权利", "义务", "知识产权", "隐私政策", "免责声明", "协议变更", "违约责任", "争议解决", "其他条款", "标题说明", "条款独立性", "法律适用"};
        for (String title : titles) {
            int startIndex = userAgreementContent.indexOf(title);
            if (startIndex != -1) {
                int endIndex = startIndex + title.length();
                spannableString.setSpan(new StyleSpan(Typeface.BOLD), startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            }
        }

        userAgreementText.setText(spannableString);

        // 获取 CheckBox 和确认按钮
        CheckBox agreementCheckbox = findViewById(R.id.agreement_checkbox);
        Button confirmButton = findViewById(R.id.confirm_button);

        // 为确认按钮添加点击事件
        confirmButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (agreementCheckbox.isChecked()) {
                    Toast.makeText(UserAgreement.this, "您已同意用户协议", Toast.LENGTH_SHORT).show();
                    finish();
                } else {
                    Toast.makeText(UserAgreement.this, "请先同意用户协议", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}